package com.arcbees.test.collaborative.server.diffsync;

import com.arcbees.test.collaborative.shared.diffsync.ApplyEditsResult;
import com.arcbees.test.collaborative.shared.diffsync.DocumentShadow;
import com.arcbees.test.collaborative.shared.diffsync.Edits;

public interface DifferentialSync {

  ApplyEditsResult applyEdits(Edits edits);

  Edits getEdits(String serverText);

  DocumentShadow getDocumentShadow();

  void initialize(String id, String baseText);

  void restoreFromBackup();

  boolean checkVersion(Edits edits);

  void leave();

}
